﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace UtilZ.Dotnet.AudioPlayer.Native
{
    /// <summary>
    /// 
    /// </summary>
    [Serializable, StructLayout(LayoutKind.Sequential)]
    public sealed class BASS_FILEPROCS
    {
        /// <summary>
        /// 
        /// </summary>
        public FILECLOSEPROC close;

        /// <summary>
        /// 
        /// </summary>
        public FILELENPROC length;

        /// <summary>
        /// 
        /// </summary>
        public FILEREADPROC read;

        /// <summary>
        /// 
        /// </summary>
        public FILESEEKPROC seek;



        /// <summary>
        /// 
        /// </summary>
        /// <param name="closeCallback"></param>
        /// <param name="lengthCallback"></param>
        /// <param name="readCallback"></param>
        /// <param name="seekCallback"></param>
        public BASS_FILEPROCS(FILECLOSEPROC closeCallback, FILELENPROC lengthCallback, FILEREADPROC readCallback, FILESEEKPROC seekCallback)
        {
            this.close = closeCallback;
            this.length = lengthCallback;
            this.read = readCallback;
            this.seek = seekCallback;
        }
    }



}
